﻿using PMS.Core.Configuration.CommonEnumConfigs;

namespace PMS.Data.Entities.Medias
{
    /// <summary>
    /// Represents a Media such as Image, Txt, Video...Entity
    /// </summary>
    public partial class MediaFile : BaseEntity
    {
        /// <summary>
        /// Output Filename Renamed after MediaFile uploaded
        /// </summary>
        public string SeoFilename { get; set; }

        /// <summary>
        /// Gets or sets the Extension Name of the MediaFile
        /// 文件上传后默认保存的扩展名，如jpeg, jpg pjpeg 统一保存为jpg
        /// </summary>
        public string ExtensionName { get; set; }

        /// <summary>
        /// Gets or sets the Useage of the Media File
        /// </summary>
        public string Useage { get; set; }
        /// <summary>
        /// Gets or sets the Description Info-Title of the MediaFile
        /// </summary>
        public string Title { get; set; }

        /// <summary>
        /// Gets or sets the Description Info of the MediaFile
        /// </summary>
        public string Description { get; set; }

        /// <summary>
        /// Gets or sets the Redirect Url For Image in the scenario like Ads Image Click
        /// </summary>
        public string ImageLink { get; set; }

        /// <summary>
        /// Gets or sets the StoreMode when upload MediaFile
        /// Local: save the MediaFile in the ServerPath
        /// Cloud: save the MediaFile into CloudStorage via Cloud SDKs
        /// For Base64 Images: save as ImageFile First
        /// </summary>
        public MediaFileStoreMode StoreMode { get; set; }

        /// <summary>
        /// 媒体文件存储位置虚拟路径，如为云存储，则存放完整云端地址
        /// </summary>
        public string VirtualPath { get; set; }

        //Set IsActive Not Mapped
        //public bool IsActive { get; set; }

        //public DateTime CreatedOnTimeUtc { get; set; }
        //public DateTime UpdatedOnTimeUtc { get; set; }
    }
}
